اکنون ، view سفارشی شما دارنده اندازه اثبات میباشد ، طراحی سایت در مشهد ولی شما میخواهید واکنشی باشد و متناسب با اندازه والد خویش یا این که شیت تلفن همراه تغییرو تحول نماید. درضمن شما میخواهید که رخ خندان مدام به طور دایره باشد و با تغییرو تحول اندازه شیت به طور بیضی کشیده نشود.
اندروید پهنا و طول view را اندازه گیری می نماید. رایاپارس شما میتوانید بهاین مقادیر از روش measuredWidth, measuredHeight دسترسی پیدا نمایید ahrefs برای ارائه اندازه ظریف و کارآمد از view به اندروید سیاق onMeasure را درون view بایستی override فرمایید:
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
// 1
size = Math.min(measuredWidth, measuredHeight)
// 2
setMeasuredDimension(size, size)
}
توضیحات کد بالا:
ضلع کوچکتر view را پیدا می نماید.
با فراخوانی setMeasuredDimension(int, int) با دو آرگمان موازی برای پهنا و طول صورت view به طور مربع با ارتفاع و پهنا موازی میشود.
چنانچه نرمافزار را Build و اعمال فرمایید به طور پایین میشود:
ساخت و ساز صفات xml سفارشی گردیده
برای ساخت و ساز صفات نو (که بوسیله اندروید تعریفوتمجید نشده) باطن فولدر res/values فایلی با اسم دلخواه برای مثالً attrs.xml بسازید و کد پایین را به آن اضافه نمائید:
توضیحات کد بالا:
تگ declare-styleable گشوده میگردد که مقدار درون name آن موازی اسم کلاس view پیشنهاد گردیده ما میباشد.
خصوصیت های نو را با اسم های متفاوت اضافه می نماید و نوع آن ها را نیز به صورت مطلوب تهیه و تنظیم می نماید.
هم اکنون کهاین صفات را تعریف و تمجید کردید به پوشه res/layout/activity_main.xml بروید و کد آن را به طور ذیل تغییر و تحول دهید:
android:id="@+id/happyButton"
android:layout_width="@dimen/face_button_dimen"
android:layout_height="@dimen/face_button_dimen"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
app:borderColor="@color/white"
app:eyesColor="@color/white"
app:faceColor="@color/red"
app:mouthColor="@color/white"
app:state="happy" />
android:id="@+id/sadButton"
android:layout_width="@dimen/face_button_dimen"
android:layout_height="@dimen/face_button_dimen"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
app:borderColor="@color/black"
app:eyesColor="@color/black"
app:faceColor="@color/light_grey"
app:mouthColor="@color/black"
app:state="sad" />
در کد بالا به صفات جدیدی که برای EmotionalFaceView به کار گیری نموده اید نیز دقت فرمائید:
borderColor, eyesColor, state, mouthColor, faceColor
دراین کد از دو EmotionalFaceView در پوشه layout به کار گیری کردید بهاین شکل از کدی که یک توشه نوشتید میتوانید بارها به کار گیری نمائید. به کارگیری دوباره از view های سفارشی گردیده یک کدام از فواید آنها میباشد.
صورت اولیه موقعیت بشاش "state="happy و رخ دوم وضعیت اندوهگین "state="sad دارااست. از این دو رخ خرد بهدنبال بجای دکمه برای تغییرو تحول وضعیت فیس بزرگتر که در اواسط تصویر جای دارد به کارگیری میکنیم.
مرجع پاسخ به سوالات طراحی سایت در مشهد...
ما را در سایت مرجع پاسخ به سوالات طراحی سایت در مشهد دنبال می کنید
برچسب : طراحی سایت در مشهد, نویسنده : علی سلطانی websitedesigninmashhad1 بازدید : 100 تاريخ : دوشنبه 16 آبان 1401 ساعت: 13:53